<?php

/**
 * Generic method for processing raw  source code (e.g. HTML, XHTML or
 * XSL:FO input).
 *
 * ---
 *
 * Обработка исходного кода (HTML, XHTML или XSL:FO).
 */
interface IParser {
  /**
   * Parses  content   stored  in   string  and  generates   DOM  tree
   * corresponding to original document.
   *
   * External resources (styles; images;  IFRAME / FRAME contents) are
   * loaded during  the parsing process.  IFRAME /  FRAME contents are
   * inserted to the  resulting DOM tree. Styles are  parsed and saved
   * to $style object. Images are cached locally.
   * 
   * @param  string $content  raw source  code of  the resource  to be
   * converted
   *
   * @param  IResourceLoader $resource_loader  object  responsible for
   * locating and fetching external resources
   *
   * @return DOMDocument DOM tree representing original resource
   *
   * ---
   *
   * Разбирает исходный код из входной строки и генерирует DOM-дерево,
   * соответствующее оригинальному документу.
   *
   * Внешние   ресурсы   (стили;   изображение;  содержимое   фреймов)
   * загружиются   в  момент   разбора.    Содержимое  фреймов   сразу
   * вставляется в  DOM. Стили  образатываются и сохраняются  в объект
   * $style. Изображения кэшируются локально.
   *
   * string $content исходный код обрабатываемого документа
   *
   * IResourceLoader   $resource_loader   объект,   ответственный   за
   * загрузку внешних ресурсов.
   *
   * возвращает  DOMDocument   DOM-дерево,  соответствующее  исходному
   * документу.
   */
  function parse($content, IStyle $style, IResourceLoader $resource_loader);
}

?>